_ARBITER_INSTANCE

//0xac bytes (sizeof) struct _ARBITER_INSTANCE { ULONG Signature; //0x0 struct _KEVENT* MutexEvent; //0x4 WCHAR* Name; //0x8 WCHAR* OrderingName; //0xc LONG ResourceType; //0x10 struct _RTL_RANGE_LIST* Allocation; //0x14 struct _RTL_RANGE_LIST* PossibleAllocation; //0x18 struct _ARBITER_ORDERING_LIST OrderingList; //0x1c struct _ARBITER_ORDERING_LIST ReservedList; //0x24 LONG ReferenceCount; //0x2c struct _ARBITER_INTERFACE* Interface; //0x30 ULONG AllocationStackMaxSize; //0x34 struct _ARBITER_ALLOCATION_STATE* AllocationStack; //0x38 LONG (*UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR* arg1, ULONGLONG* arg2, ULONGLONG* arg3, ULONGLONG* arg4, ULONGLONG* arg5); //0x3c LONG (*PackResource)(struct _IO_RESOURCE_DESCRIPTOR* arg1, ULONGLONG arg2, struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg3); //0x40 LONG (*UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg1, ULONGLONG* arg2, ULONGLONG* arg3); //0x44 LONG (*ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR* arg1); //0x48 LONG (*TestAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_TEST_ALLOCATION_PARAMETERS* arg2); //0x4c LONG (*RetestAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_RETEST_ALLOCATION_PARAMETERS* arg2); //0x50 LONG (*CommitAllocation)(struct _ARBITER_INSTANCE* arg1); //0x54 LONG (*RollbackAllocation)(struct _ARBITER_INSTANCE* arg1); //0x58 LONG (*BootAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_BOOT_ALLOCATION_PARAMETERS* arg2); //0x5c LONG (*QueryArbitrate)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_QUERY_ARBITRATE_PARAMETERS* arg2); //0x60 LONG (*QueryConflict)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_QUERY_CONFLICT_PARAMETERS* arg2); //0x64 LONG (*AddReserved)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ADD_RESERVED_PARAMETERS* arg2); //0x68 LONG (*StartArbiter)(struct _ARBITER_INSTANCE* arg1, struct _CM_RESOURCE_LIST* arg2); //0x6c LONG (*PreprocessEntry)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x70 LONG (*AllocateEntry)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x74 UCHAR (*GetNextAllocationRange)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x78 UCHAR (*FindSuitableRange)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x7c VOID (*AddAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x80 VOID (*BacktrackAllocation)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x84 UCHAR (*OverrideConflict)(struct _ARBITER_INSTANCE* arg1, struct _ARBITER_ALLOCATION_STATE* arg2); //0x88 LONG (*InitializeRangeList)(struct _ARBITER_INSTANCE* arg1, ULONG arg2, struct _CM_PARTIAL_RESOURCE_DESCRIPTOR* arg3, struct _RTL_RANGE_LIST* arg4); //0x8c LONG (*DeleteOwnerRanges)(struct _ARBITER_INSTANCE* arg1, VOID* arg2); //0x90 UCHAR TransactionInProgress; //0x94 struct _KEVENT* TransactionEvent; //0x98 VOID* Extension; //0x9c struct _DEVICE_OBJECT* BusDeviceObject; //0xa0 VOID* ConflictCallbackContext; //0xa4 UCHAR (*ConflictCallback)(VOID* arg1, struct _RTL_RANGE* arg2); //0xa8 };